
實作一個圖片展開的動畫
flex 、flex 佔比為 1flex 、 justify-content 、 align-items 、 flex-direction
第一段動畫
toggle 來切換 class open。const panels = document.querySelectorAll('.panel');
function clickHandler() {
this.classList.toggle('open');
}
panels.forEach(panel => {
panel.addEventListener("click", clickHandler);
});
第二段動畫
transform: translate 和 add class 把動畫做出來e 會觸發多個事件,當事件有 flex 時,才觸發 toggle 來切換 open-active
function transitionHandler(e) {
if (e.propertyName.includes('flex')) {
this.classList.toggle('open-active');
}
}
panels.forEach(panel => {
panel.addEventListener("transitionend", transitionHandler);
});
flex 不熟的話有一些小遊戲可以一邊玩一邊變厲害